---
title: Slack
description: 发送、更新、删除消息，在 Slack 中添加反应，或通过 Slack 事件触发工作流
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="slack"
  color="#611f69"
/>

{/* MANUAL-CONTENT-START:intro */}
[Slack](https://www.slack.com/) 是一个商业通信平台，为团队提供统一的消息、工具和文件管理场所。

<iframe
  width="100%"
  height="400"
  src="https://www.youtube.com/embed/J5jz3UaWmE8"
  title="Slack Integration with Sim"
  frameBorder="0"
  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
  allowFullScreen
></iframe>

使用 Slack，您可以：

- **自动化代理通知**：将 Sim 代理的实时更新发送到任何 Slack 频道
- **创建 webhook 端点**：将 Slack 机器人配置为 webhook，以通过 Slack 活动触发 Sim 工作流
- **增强代理工作流**：将 Slack 消息集成到您的代理中，以传递结果、警报和状态更新
- **创建和共享 Slack 画布**：以编程方式在 Slack 频道中生成协作文档（画布）
- **从频道读取消息**：从任何 Slack 频道检索和处理最近的消息，用于监控或工作流触发
- **管理机器人消息**：更新、删除以及为您的机器人发送的消息添加反应

在 Sim 中，Slack 集成使您的代理能够以编程方式与 Slack 交互，并将完整的消息管理功能作为其工作流的一部分：

- **发送消息**：代理可以向任何 Slack 频道或用户发送格式化消息，支持 Slack 的 mrkdwn 语法以实现丰富的格式化
- **更新消息**：编辑之前发送的机器人消息，以更正信息或提供状态更新
- **删除消息**：在消息不再需要或包含错误时删除机器人消息
- **添加反应**：通过为任何消息添加表情符号反应来表达情感或确认
- **创建画布**：直接在频道中创建和共享 Slack 画布（协作文档），以实现更丰富的内容共享和文档化
- **读取消息**：读取频道中的最近消息，允许根据频道活动进行监控、报告或触发进一步操作
- **下载文件**：检索 Slack 频道中共享的文件以进行处理或存档

这允许实现强大的自动化场景，例如发送具有动态更新的通知、通过可编辑的状态消息管理对话流程、通过反应确认重要消息，以及通过删除过时的机器人消息保持频道整洁。您的代理可以提供及时的信息，随着工作流的进展更新消息，创建协作文档，或在需要注意时提醒团队成员。此集成弥合了您的 AI 工作流与团队沟通之间的差距，确保每个人都能获得准确、最新的信息。通过将 Sim 与 Slack 连接，您可以创建能够在适当的时间为团队提供相关信息的代理，通过自动共享和更新见解增强协作，并减少手动状态更新的需求——同时利用您的团队已经在使用的 Slack 工作区进行沟通。

## 使用说明

将 Slack 集成到工作流程中。可以发送、更新和删除消息，创建画布，读取消息并添加反应。在高级模式下需要使用 Bot Token 而不是 OAuth。可以在触发模式下使用，当消息发送到频道时触发工作流程。

## 工具

### `slack_message`

通过 Slack API 向 Slack 频道或用户发送消息。支持 Slack mrkdwn 格式化。

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 是 | 目标 Slack 频道（例如，#general） |
| `text` | string | 是 | 要发送的消息文本（支持 Slack mrkdwn 格式） |
| `thread_ts` | string | 否 | 要回复的线程时间戳（创建线程回复） |
| `files` | file[] | 否 | 要附加到消息的文件 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `message` | object | 包含 Slack 返回的所有属性的完整消息对象 |
| `ts` | string | 消息时间戳 |
| `channel` | string | 发送消息的频道 ID |
| `fileCount` | number | 上传的文件数量（当附加文件时） |

### `slack_canvas`

在频道中创建并分享 Slack 画布。画布是 Slack 内的协作文档。

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 是 | 目标 Slack 频道（例如，#general） |
| `title` | string | 是 | 画布的标题 |
| `content` | string | 是 | 画布内容，使用 markdown 格式 |
| `document_content` | object | 否 | 结构化的画布文档内容 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `canvas_id` | string | 创建的画布 ID |
| `channel` | string | 创建画布的频道 |
| `title` | string | 画布的标题 |

### `slack_message_reader`

阅读 Slack 频道中的最新消息。通过筛选选项检索会话历史记录。

#### 输入

| 参数 | 类型 | 必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的 Bot token |
| `channel` | string | 是 | 要读取消息的 Slack 频道（例如：#general） |
| `limit` | number | 否 | 要检索的消息数量（默认：10，最大：100） |
| `oldest` | string | 否 | 时间范围的开始（时间戳） |
| `latest` | string | 否 | 时间范围的结束（时间戳） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `messages` | array | 频道中的消息对象数组 |

### `slack_list_channels`

列出 Slack 工作区中的所有频道。返回机器人有权限访问的公共和私人频道。

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的 Bot token |
| `includePrivate` | boolean | 否 | 包括机器人是成员的私人频道（默认：true） |
| `excludeArchived` | boolean | 否 | 排除已归档的频道（默认：true） |
| `limit` | number | 否 | 返回的最大频道数量（默认：100，最大：200） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `channels` | array | 工作区中的频道对象数组 |

### `slack_list_members`

列出 Slack 频道中的所有成员（用户 ID）。可与获取用户信息功能结合使用，将 ID 解析为名称。

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的 Bot token |
| `channel` | string | 是 | 要列出成员的频道 ID |
| `limit` | number | 否 | 返回的最大成员数量（默认：100，最大：200） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `members` | array | 频道成员的用户 ID 数组（例如，U1234567890） |

### `slack_list_users`

列出 Slack 工作区中的所有用户。返回包含名称和头像的用户资料。

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `includeDeleted` | boolean | 否 | 是否包含已停用/已删除的用户（默认值：false） |
| `limit` | number | 否 | 返回的最大用户数量（默认值：100，最大值：200） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `users` | array | 工作区中的用户对象数组 |

### `slack_get_user`

通过用户 ID 获取特定 Slack 用户的详细信息。

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `userId` | string | 是 | 要查询的用户 ID（例如，U1234567890） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `user` | object | 用户的详细信息 |

### `slack_download`

从 Slack 下载文件

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `fileId` | string | 是 | 要下载的文件 ID |
| `fileName` | string | 否 | 可选的文件名覆盖 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `file` | file | 下载的文件存储在执行文件中 |

### `slack_update_message`

更新由机器人在 Slack 中之前发送的消息

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 是 | 消息发布的频道 ID（例如，C1234567890） |
| `timestamp` | string | 是 | 要更新的消息的时间戳（例如，1405894322.002768） |
| `text` | string | 是 | 新的消息文本（支持 Slack mrkdwn 格式） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `message` | object | 包含 Slack 返回的所有属性的完整更新消息对象 |
| `content` | string | 成功消息 |
| `metadata` | object | 更新的消息元数据 |

### `slack_delete_message`

删除由机器人在 Slack 中之前发送的消息

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 是 | 消息发布的频道 ID（例如，C1234567890） |
| `timestamp` | string | 是 | 要删除的消息的时间戳（例如，1405894322.002768） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 成功消息 |
| `metadata` | object | 已删除消息的元数据 |

### `slack_add_reaction`

为 Slack 消息添加表情符号反应

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 是 | 消息发布的频道 ID（例如，C1234567890） |
| `timestamp` | string | 是 | 要添加反应的消息的时间戳（例如，1405894322.002768） |
| `name` | string | 是 | 表情符号反应的名称（不带冒号，例如，thumbsup、heart、eyes） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 成功消息 |
| `metadata` | object | 反应元数据 |

## 注意

- 类别：`tools`
- 类型：`slack`
